# -*- coding: utf-8 -*-
"""
Created on Thu Aug  3 18:17:24 2023

@author: skunk69
"""

import json
from myPandas import myPandas

chinese_name = u'90项症状清单'
english_name = 'Symptom Check List 90'
abbreviation = 'SCL-90'
category = u'一般心理健康与行为问题量表'

outline = u"""90项症状清单（Symptom Check List 90，SCL-90）现版本由Derogatis于1973年编制。SCL-90在国外应用甚广，20世纪80年代引入中国，最初由王征宇翻译成中文（1984），后经金华、吴文源、张明园等主持的全国协作组在国内13个地区采样并制定常模，成为国内用于成人群体心理状况调查使用得最多的工具。另外，刘恒和张建新等在2002年对国内4个地区15所学校的中学生采样，为中学生SCL-90建立了常模参考标准。"""

instruction = u"""以下表格中列出了有些人可能会有的问题，请仔细阅读每一条，然后根据最近一周以内下述情况影响您的实际感觉，选择影响程度：无，轻度，中度，偏重，严重。这里所指的“影响”，包括症状所致的痛苦和烦恼，也包括症状造成的心理社会功能损害。轻、中、重无具体定义，由测评者自己去体验。"""

data_path ='SCL-90.xlsx'
items = myPandas(data_path)

reverse_items = []
scales = [u'躯体化',u'强迫症状',u'人际关系敏感',u'抑郁',u'焦虑',u'敌对',u'恐怖',
          u'偏执',u'精神病性',u'其他（睡眠及饮食情况）']
scales_items = [
    [1,4,12,27,40,42,48,49,52,53,56,58],# 1 躯体化
    [3,9,10,28,38,45,46,51,55,65],# 2 强迫症状
    [6,21,34,36,37,41,61,69,73],# 3 人际关系敏感
    [5,14,15,20,22,26,29,30,31,32,54,71,79],# 4 抑郁
    [2,17,23,33,39,57,72,78,80,86],# 5 焦虑
    [11,24,63,67,74,81],# 6 敌对
    [13,25,47,50,70,75,82],# 7 恐怖
    [8,18,43,68,76,83],# 8 偏执
    [7,16,35,62,77,84,85,87,88,90],# 9 精神病性
    [19,44,59,60,64,66,89],# 10 其他（睡眠及饮食情况）
    ]

check = []
for l in scales_items:
    check = check+l
print(len(check))
check_set = {i for i in sorted(check)}-{i for i in range(1,91)}
print(check_set)

factors = []
factors_scales = []
rating = [u'没有',u'很轻',u'中等',u'偏重',u'严重',]
score_rules = list(range(1,6))

implementation = u"""自评式测量，适用于成人群体以及中学生。评定的时间范围是现在或者最近一周。"""

reliability = u"""国内已经报道的信度资料显示，SCL-90在所测人群中的内部一致性和重测信度比较理想。"""
validity = u"""根据Derogatis报道，各症状效度系数为0.77~0.99（P<0.01）"""
measurements = {'reliability':reliability,'validity':validity}

interpretation = u"""SCL-90统计指标主要包括：
1）单项分，90个单项的单项评分值。
2）总分，90个单项分之和。总分能反映病情严重程度，总分变化能反映其病情演变。
3）总均分，总分除以90。
4）阳性项目数，单项分大于等于2的项目数。表示被测者在多少项目中呈现“有症状”。
5）阴性项目数，单项分等于1的项目数。表示被测者在“无症状”项目有多少。
6）阳性症状均分，阳性项目总分除以阳性项目总数。表示被测者在所谓阳性项目中的平均得分，反映被测者自我感觉不佳的项目其严重程度介于哪个范围。
7）因子（维度）均分，各个因子（维度）的得分除以该因子（维度）的项目数。因子（维度）均分及剖面图可反映症状群特点，给人以直观印象。

各个因子（维度）释义：
1）躯体化，主要反映身体不适感，包括心血管、胃肠道、呼吸和其他系统的不适，和头痛、背痛、肌肉酸痛，以及焦虑等躯体不适表现。
2）强迫症状，主要指那些明知没有必要，但又无法摆脱的无意义的思想、冲动和行为，还有一些比较一般的认知障碍的行为征象也在这一因子中反映。
3）人际关系敏感，主要是指某些人际的不自在与自卑感，特别是与其他人相比较时更加突出。在人际交往中的自卑感，心神不安，明显的不自在，以及人际交流中的不良自我暗示，消极的期待等是这方面症状的典型原因。
4）抑郁，苦闷的情感与心境为代表性症状，还以生活兴趣的减退，动力缺乏，活力丧失等为特征。还表现出失望、悲观以及与抑郁相联系的认知和躯体方面的感受，另外，还包括有关死亡的思想和自杀观念。
5）焦虑，一般指那些烦躁，坐立不安，神经过敏，紧张以及由此产生的躯体征象，如震颤等。
6）敌对，主要从三方面来反映敌对的表现：思想、感情及行为。其项目包括厌烦的感觉，摔物，争论直到不可控制的脾气暴发等各方面。
7）恐怖，恐惧的对象包括出门旅行，空旷场地，人群或公共场所和交通工具。此外，还有社交恐怖。
8）偏执，主要指投射性思维，敌对，猜疑，妄想，被动体验和夸大等。
9）精神病性，反映各式各样的急性症状和行为，即限定不严的精神病性过程的症状表现。
10）其它项目（睡眠、饮食等），作为附加项目或其他，作为第10个因子来处理，以便使各因子分之和等于总分。
"""

applications = u"""由于该量表反映症状丰富，能较准确评估病人自觉症状特点，被广泛应用于各种研究和实践，结果证明该量表具有良好的实证效度。
由于该量表操作简单，效果良好，故可广泛应用于精神科和心理咨询门诊中，作为了解就诊者或者受咨询者心理卫生问题的一种评定工具。
该量表是一个精神症状（心理问题）筛查量表，而不是精神病诊断量表，其划界值仅作为一个参考标准。量表协作组1987年曾对全国13个地区1388名正常成人的SCL-90得分进行了分析，按照上述常模结果提出了一个参考标准：总分超过160分，或阳性项目数超过43项，或者任一因子（维度）均分超过2分，可考虑筛查阳性，须进一步检查。
"""

this_scale = {
    'chinese_name':chinese_name,
    'english_name':english_name,
    'abbreviation':abbreviation,
    'category':category,
    'outline':outline,
    'contents':{
        'instruction':instruction,
        'items':items,
        'reverse_items':reverse_items,
        'scales':scales,
        'scales_items':scales_items,
        'factors':factors,
        'factors_scales':factors_scales,
        'rating':rating,
        'score_rules':score_rules        
                },
    'implementation':implementation,
    'measurements':measurements,
    'interpretation':interpretation,
    'applications':applications    
    }

with open(abbreviation+'.json','w+',encoding='utf-8') as f:
    json.dump(this_scale,f,indent=2,ensure_ascii=False)
